﻿// ----------------------------------------------------------------------------------------
// Author:                    Joaquín López y Magally Vargas
// Company:                   Albalia Interactiva S.L
// Assembly version:          1.0.0.0
// Date:                      10/02/2009
// Time:                      12:12
// Solution Name:             FacturaeAdd-in
// Solution Filename:         FacturaeAdd-in.sln
// Solution FullFilename:     C:\Ribbon_Facturae\FacturaeAdd-in.sln
// Project Name:              FacturaeAdd-in
// Project Filename:          FacturaeAdd-in.csproj
// Project FullFilename:      C:\Ribbon_Facturae\FacturaeAdd-in\FacturaeAdd-in.csproj
// Project Item Name:         LastSearchParameters.cs
// Project Item Filename:     LastSearchParameters.cs
// Project Item FullFilename: C:\Ribbon_Facturae\FacturaeAdd-in\LastSearchParameters.cs
// Project Item Kind:         Código
// Purpose:                   Obtener y guardar los datos referentes a la última búsqueda de facturas en el taskpane
//Copyright © 2008 - 2009 Albalia Interactiva S.L. Reservados todos los derechos.
// ----------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace FacturaeAdd_in
{
    /// <summary>
    /// Clase que contiene los valores que se almacen en un archivo xml de la última búsqueda realizada
    /// en el taskpane.
    /// </summary>
    public class LastSearchParameters
    {
        #region "Contructors"

        /// <summary>
        /// Constructor
        /// </summary>
        public LastSearchParameters()
        {
            this.Year = "";
            this.Month = "";
            this.State = "";
            this.Customers = "";
            this.Issuers = "";
            this.Operador = "";
            this.Amount = "";
            this.YearIndex = "-1";
            this.MonthIndex = "-1";
            this.StatusIndex = "-1";
            this.IssuerIndex = "-1";
            this.CustomerIndex = "-1";
            this.OperIndex = "-1";
            this.Cobrada = "false";
            this.Pagada = "false";
            this.Rechazada = "false";


        }

        /// <summary>
        /// Constructor parametrizado
        /// </summary>
        /// <param name="year">Parámetro de tipo string con el año</param>
        /// <param name="month">Parámetro de tipo string con el mes</param>
        /// <param name="state">Parámetro de tipo string con el estado</param>
        /// <param name="issuer">Parámetro de tipo string con el emisor</param>
        /// <param name="customer">Parámetro de tipo string con el cliente</param>
        /// <param name="operador">Parámetro de tipo string con el operador</param>
        /// <param name="amount">Parámetro de tipo string con el importe</param>
        /// <param name="yi">Parámetro de tipo int con el indice del combobox del año</param>
        /// <param name="mi">Parámetro de tipo int con el indice del combobox del mes</param>
        /// <param name="si">Parámetro de tipo int con el indice del combobox del estado</param>
        /// <param name="ii">Parámetro de tipo int con el indice del combobox del emisor</param>
        /// <param name="ci">Parámetro de tipo int con el indice del combobox del cliente</param>
        /// <param name="oi">Parámetro de tipo int con el indice del combobox del operador</param>
        /// <param name="c">Parámetro de tipo string con la marca de cobrada</param>
        /// <param name="p">Parámetro de tipo string con la marca de pagada</param>
        /// <param name="r">Parámetro de tipo string con la marca de rchazada</param>
        public LastSearchParameters(string year, string month, string state, string issuer, string customer, string operador, string amount,
            string yi, string mi, string si, string ii, string ci, string oi, string c, string p, string r)
        {
            this.Year = year;
            this.Month = month;
            this.State = state;
            this.Customers = customer;
            this.Issuers = issuer;
            this.Operador = operador;
            this.Amount = amount;
            this.YearIndex = yi;
            this.MonthIndex = mi;
            this.StatusIndex = si;
            this.IssuerIndex = ii;
            this.CustomerIndex = ci;
            this.OperIndex = oi;
            this.Cobrada = c;
            this.Pagada = p;
            this.Rechazada = r;
        }

        #endregion

        #region "Properties"

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del año
        /// </summary>
        public string Year { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del mes
        /// </summary>
        public string Month { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del estado
        /// </summary>
        public string State { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del nombre del cliente
        /// </summary>
        public string Customers { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del emisor
        /// </summary>
        public string Issuers { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del operador
        /// </summary>
        public string Operador { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor del importe total
        /// </summary>
        public string Amount { get; set; }

        /// <summary>
        /// Propiedad de tipo int que contiene el valor del indice del combobox del año
        /// </summary>
        public string YearIndex { get; set; }

        /// <summary>
        /// Propiedad de tipo int que contiene el valor del indice del combobox del mes
        /// </summary>
        public string MonthIndex { get; set; }

        /// <summary>
        /// Propiedad de tipo int que contiene el valor del indice del combobox del estado
        /// </summary>
        public string StatusIndex { get; set; }

        /// <summary>
        /// Propiedad de tipo int que contiene el valor del indice del combobox del nombre del emisor
        /// </summary>
        public string IssuerIndex { get; set; }

        /// <summary>
        /// Propiedad de tipo int que contiene el valor del indice del combobox del nombre del cliente
        /// </summary>
        public string CustomerIndex { get; set; }

        /// <summary>
        /// Propiedad de tipo int que contiene el valor del indice del combobox del operador
        /// </summary>
        public string OperIndex { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor de la marca cobrada
        /// </summary>
        public string Cobrada { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor de la marca pagada
        /// </summary>
        public string Pagada { get; set; }

        /// <summary>
        /// Propiedad de tipo string que contiene el valor de la marca rechazada
        /// </summary>
        public string Rechazada { get; set; }


        #endregion

        
        
        
    }
}
